Surgical cassette proximity sensing and latching apparatus

ABSTRACT

There is disclosed herein a system for providing control of multiple functions needed to perform eye surgery. A microprocessor based system controls a vacuum generation system using venturis and linear valves and a pneumatic system for driving vitrectomy probes and pneumatic scissors in either a variable frequency, multicut mode or a proportional cut mode where the cutting pressure is proportional to the position of a foot operated position sensor. The frequency of the vitrectomy probe cutting action can also be controlled and the level of vacuum can be controlled from a foot operated position sensor which can also be used to turn on or off a fragmentation device. The footswitch can also be used to turn irrigation fluid on or off, and the flow rate can be controlled from a control on the front panel. By making a certain foot motion in any certain aspiration modes, reflux of the aspiration line can be controlled. The vacuum level is continuously monitored over all aspiration conditions and adjusted to stay as close as possible to the desired vacuum level. A cassette proximity sensing system senses the presence of a cassette, and aids the user in drawing in and latching the cassette. The vacuum integrity of the cassette is automatically checked by the microprocessor each time one is drawn into the machine. The microprocessor also monitors the cassette for fullness an initiates a transfer to empty one bottle of the cassette into another bottle for storage when the first bottle becomes full. A back-up system checks the accuracy of cassette liquid level sensing apparatus by double checking for liquid in the line leading to the vacuum generation system. If water is detected, a fluid transfer from one bottle of the cassette to the other is initiated.

This application is a division of application Ser. No. 780,613, filedSept. 26, 1985, now U.S. Pat. No. 4,758,220.

BACKGROUND OF THE INVENTION

The invention pertains to the field of surgical instrument systems forsupporting eye surgeons in performing eye surgery on the human or ananimal eye.

Eye surgeons who perform cataract removal and vitrectomy operations aswell as other procedures need surgical instruments which fulfill certainbasic needs of the surgeon. The most common of these needs is to cut andremove tissue. Other needs include introducing ultrasonic energy intocertain parts of the eye to break up certain undesirable tissueformations, irrigation of the portion of the eye being operated upon,transmitting light into the area of the eye being operated upon, andcontrol of surgical scissors. It is convenient for the surgeon to havean instrument which can perform all these functions under control of thesurgeon in the operating room.

Various surgical instruments exist which support various of thesefunctions. However there are few surgical instruments that can performall these functions. Further, these functions can be done in manydifferent ways, some of which are better than others. For example, it isuseful for the surgeon to have vacuum at his disposal to aspiratecut-away tissue and to have complete control of the maximum level ofvacuum and the actual level of vaccum in the system under variousaspiration conditions. Further, it is useful for the surgeon to be ableto request more or less vacuum without having to use his hands or tellanother person how much vacuum he wants. If the surgeon accidentlyaspirates something he or she did not mean to aspirate with theinstrument, it is useful to be able to cause a reflux of the system toforce the item out of the aspiration line.

Many prior art systems use peristaltic pumps or diaphragm pumps togenerate the desired vacuum. These pumps are sometimes noisy and areslow to generate the desired vacuum level. Further, it is desirable tohave a fast response time for changes in the desired vacuum levels, andfor the system to display both the actual vacuum and the desired maximumvacuum. It is also useful for the system to automatically monitor theactual vacuum level under all aspiration conditions and to automaticallyadjust it to match the requested vacuum level such that the surgeon doesnot have to request more vacuum when vacuum in the system falls causedby varying aspiration conditions. Few prior art systems, if any, offerall these features.

It is also desirable for the surgeon to have an instrument which giveshim powered surgical scissors which can cut tissue in several modes. Amulticut mode where the scissors blades automatically open and close ata frequency controlled by the surgeon is useful. It is also useful tohave a mode where the scissors blades close in proportion to the amountof pressure the surgeon places on a foot pedal. Such a scissorsmechanisim should be light, small and simple and not pose any danger ofelectrical shock to the patient or electrical current leakage into theeye in the case of a worn or defective instrument. Few, if any, priorart systems offer all these features.

Further, it is useful for the instrument to be able to support anultrasonic fragmentation device such that the surgeon can turn such aninstrument on and off during the course of a surgery to break up tissueformations ultrasonically.

It is also frequently necessary during posterior work in the eye, i.e.,behind the lens, to transmit light into the eye so that the surgeon cansee effectively. The prior art instruments sometimes have light probeswhich carry light from a source in the instrument into the eye. However,the light sources are frequently quite close to the end of the lightprobe, and, as a result, the light probes get hot enough to burn thefingers of a surgeon or nurse who attempts to remove the probe before ithas cooled down.

Few if any prior art systems offer all the useful features mentionedabove, and few solve all the problems posed above.

SUMMARY OF THE INVENTION

The invention is a cassette-handling system for sensing the proximity ofa cassette for storing aspirated material in a system for support of eyesurgeons in performing eye surgery and for drawing the cassette into asealed relationship with the vacuum seals of the machine using themachine's own power. This makes the insertion of the cassettesubstantially easier than machines where manual insertion is used sincegreat physical power is required to push a cassette into its receptacleand to adequately compress the vacuum seals to have a positive vacuumseal.

A positive cassette latching mechanism is employed wherein amicroprocessor senses the proximity of the cassette by reading amicroswitch mounted such that when a cassette is pushed partially in,the switch is activated. When this fact is sensed, the microprocessoractivates a solenoid-operated valve to gate air to a piston whichactivates a latch mechanism to engage a portion of the cassette and pullit into sealing engagement with the rest of the unit. When the operatorelects to remove a cassette, a switch on the front panel is pushed, andthe microprocesor senses this fact and vents the pressure in the firstpiston to atmosphere to unlock the cassette and activates anothersolenoid-operated valve to gate air to a piston which pushes thecassette free.

The microprocessor also tests the integrity of the vacuum seal after thecassette is latched into position. This is done by activating a vacuumgeneration system and gating the vacuum through to the cassette. Avacuum sensor coupled to the vacuum system which includes the cassetteand the vacuum seals between the cassette and the rest of the system isthen read to determine the level of vacuum that is reached in thecassette. If the vacuum does not reach a certain vacuum level within aspecified time, then one failure is recorded and the vacuum generationprocess is tried again. If the cassette or vacuum seals fail again toallow vacuum to reach the specified level within the specified time, asecond failure is recorded, an error message is displayed, and thesecond part of the vacuum integrity test is not reached. If the firstpart of the vaccum integrity test is passed either the first or secondtime it is attempted, then the second part is performed. This secondpart involves waiting a certain time with the cassette evacuated. Afterthe waiting period, the vacuum level in the cassette is read again andsubtracted from the constant representing the vacuum level reached inthe first pair of the test. If the vacuum level has dropped more than acertain amount, the cassette or seals have a leak which is too large,and an error message is displayed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of the apparatus of the system comprising theinvention.

FIG. 2 is a block diagram of the pneumatic and vacuum systems andportions of the vacuum and pneumatic control systems.

FIG. 3 is a block diagram of the cassette liquid-handling system showingthe fluid flows, vacuum lines and the valves used in controlling fluidflow.

FIG. 4 is a detailed schematic diagram of the vacuum control systemelectronics.

FIG. 5 is a diagram of an analog embodiment of the cassette-handlingsystem.

FIG. 6 is a top view of the mechanical aspects of the cassette-handlingsystem.

FIG. 7 is a back view of the cassette showing the routes of the surgicaltubing comprising the liquid transfer system.

FIG. 8 is a side view of the reflux and eject piston's interaction withthe surgical tubing carrying vacuum to the surgeon's hand tool.

FIGS. 9A and 9B are a flow chart of the cassette-handling process of thepreferred embodiment and the reflux process.

FIGS. 10A-I are a flow chart of the various processes the systemperforms in the various modes of operation and the processes performedby the control circuitry in getting into and controlling the variousmodes and changes between modes.

FIGS. 11A-D are a flow chart of the two main control interrupts whichare used in controlling the modes.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring to FIG. 1 there is shown a block diagram of the invention. ACPU 30 acts as the central controller of the system, and is coupled tothe units it controls by data, address and control buses 32, 34 and 36respectively. In the preferred embodiment, the CPU 30 is an Intel 8031microprocessor. The programs which controls operations of themicroprocessor and all the units to which it is coupled to implement theprocess of the invention are included herewith as Appendices A, B and C.These appendices represent three different embodiments of the invention.The microcode of the particular embodiment of the invention is stored ina programmable read-only memory (PROM) 38 which the microprocessor 30accesses for instructions to carry out the process of the invention.Appendix C represents an embodiment of the invention which implementsall the features to be described herein. Appendix A represents anembodiment which implements all the features of the Appendix Cembodiment except the reflux feature. Appendix B represents anembodiment which implements all the featues of the embodiment ofAppendix C except the light source and insulation system for the lightprobe and except for the pneumatically driven scissors. For simplicity'ssake the following description will be directed to the embodiment ofAppendix C since such a description also describes the processesimplemented in the other embodiments and the apparatus used to carrythem out.

In other embodiments other microprocessors or even minicomputers couldbe used with suitable adjustments in the object code of Appendices A, Band C to the machine language used by the particular computer selected.Generally, the microprocessor 30 controls a vacuum generation system, apneumatic pressure system and various solenoid operated valves, relays,displays and indicators to implement the processes carried out in thevarious modes in which the machine operates. Interface with the user isprovided through front panel control switches, potentiometers, a footswitch and a display.

The microprocessor 30 is coupled to two digital-to-analog converters 40and 42 to control the pneumatic and vacuum systems respectively. Detailsof the operation of these systems will be given below.

An analog-to-digital converter 44 is used by the microprocessor toconvert analog data from various sensors and controls indicatingconditions the machine is controlling to digital data the microprocessorcan read. To control the vacuum and pneumatic systems, certaininformation must be supplied to the microprocessor 30 by the user.

For example, in the irrigation and aspiration mode, the vitrectomy modeand the fragmentation mode, vacuum is supplied by the system to a handtool used by the surgeon to aspirate tissue and irrigation fluids andbody fluids from the area being operated upon. There are two user inputsto control this vacuum generation process. One is the maximum vacuumthat the surgeon desires the machine to generate, and the other is thedesired vacuum at any particular time. The maximum vacuum is set by thesurgeon by a potentioneter or other control 46 on the front panel. Theactual vacuum or the vacuum desired by the surgeon at any particulartime is read from a footswitch position sensor 48 which the surgeonpushes up and down to signal his desire for more or less vacuum. Thefootswitch position sensor is also used to control the frequency ofblade closure, i.e., the cut rate in the multicut scissors driving mode.Details on how the footswitch is read will be given below in thedescription of the vacuum control system.

In the vitrectomy mode, a cutting probe of a structure well known in theart is pneumatically driven with pulses of pressurized air. Thefrequency of these pulses is controlled by a cut rate adjust control 50,which can be a potentiometer. The cut rate adjust control 50 is alsoused to control the flow of aspiration fluid in the irrigation andaspiration mode such that a variable flow can be achieved. An addresssupplied by the microprocessor to the A/D converter 44 tells it which ofthese analog inputs connected to multiple channel inputs of the A/Dconverter to select and convert to a digital number.

A display 52, which is comprised of light emitting diodes in thepreferred embodiment but which can be any type of display, is used bythe microprocessor 30 to display the cut rate in the vitrectomy mode inthe form of a bar graph. The display, in the preferred embodiment, iscomprised of a plurality of LED's arranged in a line. The relative cutrate is displayed as the number of LED's which are lit. Other formatsfor the display of this information are possible and will be apparent tothose skilled in the art.

A front panel control and sensor interface 54 is coupled by a bus 56 toseveral switches and an alphanumeric display 58. The alphanumericdisplay 58 is used by the microprocessor 30 to display various items ofinformation such as the mode in which the machine is currentlyoperating, the actual vacuum, maximum vacuum desired and other messages.Several mode select switches 60 on the front panel are used by thesurgeon to select which of the several modes in which the machine is tooperate. There are five main modes in which the machine operates withthe irrigation and aspiration mode having three submodes. Mode selectioncan be by toggling three switches as in the preferred embodiment, byrotary switch or by a separate switch for each mode. The details on howto implement this mode selection will be apparent to those skilled inthe art.

A cassette eject switch 62 is used by the surgeon when the cassette (notshown) becomes full and must be removed. When this switch is pushed, themicroprocessor 30 causes certain solenoid operated valves to be operatedwhich unlatch and eject the cassette from its chamber in the frontpanel. A cassette proximity sensor 64 in the form of a microswitch ismounted in the cassette chamber such when a new cassette is pushed partway into the chamber, the switch changes states. This change is read bythe microprocessor, which cause certain solenoid operated valves to beoperated such that a mechanism is activated which engages and pulls inthe cassette to a locked position in its chamber.

The cassette, as will be seen in connection with the discussion ofanother figure herein, has two bottles for storage of aspiratedmaterial. Material is aspirated into a small bottle until it is full.The fact that the small bottle is full is sensed by the microprocessor30 through a small bottle liquid level sensor 66. This sensor is a pairof wires protruding through the top of the small bottle in the preferredembodiment. When liquid reaches the top of the bottle, current flowsbetween the wires which is sensed and which signals the microprocessorthat the small bottle is full. The microprocessor then initiates atransfer of the aspirated liquid from the small bottle to the largebottle in a manner which will be described later.

The manner in which this sensing is done is as follows. In the preferredembodiment, the irrigation solution which is aspirated is a salinesolution and is relatively conductive. When this solution reaches thewires in the top of the small bottle, an appreciable current flows. Ahigh impedance voltage source is connected to one of the pins and andthe other pin is grounded. A comparator having a reference voltagecoupled to one of its inputs has its other input coupled to thenon-grounded pin. Normally the input coupled to the non-grounded pinwill be a logic one until water reaches the wires. When that happens thepin connected to the comparator goes to logic zero, and the comparatorchanges states. Since the output of this comparator is frequentlypolled, the microprocessor senses the change, and initiates a transfer.

A vacuum line water sensor 68 is also included for protection of themachine in case the above described fluid transfer mechanism fails. Itis possible that the fluid transfer mechanism may fail for some reasonsuch as corroded wires in the top of the small bottle. If this happens,the small bottle can fill up, and water can enter the vacuum line to thevacuum generating apparatus. This is an undesirable condition, and themachine must be shut down if it occurs to prevent damage to theinternals of the machine. The vacuum line water sensor 68 senses thepresence of solution in the vacuum line in the manner described abovefor the small bottle liquid level sensor 66. When the microprocessorsenses this condition, the machine is shut down until the condition iscleared.

An input air pressure switch 70 monitors the pressurized air input tothe system to provide a warning if the input air pressure falls below acertain minimum air pressure acceptable for machine operation.

A buffer unit and relay 72 provide on/off control for a known fragmenterhandpiece. The presence of the fragmenter handpiece and cable connectingthe system to this device is tested for by the microprocessor 30 bysending a signal to the fragmenter handpiece out the serial transmitdata port through a buffer 31. If the fragmenter handpiece is present,this signal returns on the cable to the microprocessor 30 receive dataport through a buffer 33. Such fragmenter handpieces use ultrasonicsound transducers to generate sound waves which are used to break upvarious tissue formations which the surgeon wishes to remove such ascataracts. Such ultrasonic transducers must be supplied with power andprovided with on/off control from the host system. The inventionsupplies power and provides this on/off control through the relay unit72. The unit 72 consists basically of a latch and relay driver which isaddressed through a RAM and I/O port unit 74. The RAM and I/O port unit74 has a scratchpad RAM unit in which the microprocessor 30 can storevalues to control certain aspects of the machine operation such as thedesired scissors pressure, and the error number if any error conditionoccurs. The microprocessor has internal RAM also which is used to storevarious initialization values for the interrupts. Certain interruptroutine are used in controlling the pneumatic and vacuum systems. Eachtime a new mode of operation is entered, these interrupts areinitialized for that particular mode, and these initialization valuesare accessed from the internal RAM to initialize the routine. Theseinitialization values could be stored in the external RAM also, but thisis not preferred because the delays of bus access would slow downoperations compared to retrieving these values from internal RAM.

The unit 74 also has I/O ports which can be individually addessed by themicroprocessor when the microprocessor wishes to write data to or readdata from a particular peripheral. One of these I/O ports is coupled tothe buffer and fragmentation control relay unit 72. When the surgeonwishes to turn on the fragmentation device, he kicks the footswitcheither left or right depending upon which way is assigned to be the "on"direction. A microswitch in the footswitch is actuated by this actionand changes states. This microswitch 74 is coupled to pins 4 and 5 ofthe microprocessor through a buffer 78. When the microprocessor pollsthis footswitch and determines that fragmentation is desired, itaddresses the particular I/O port coupled to the buffer andfragmentation control relay unit 72 and writes data into the latch andbuffer in the unit 72 indicating that fragmentation is desired. Thisdata is then used to control relay driver circuitry in the unit 74 whichactivates a relay coupled to the bus 80. This bus provides a signal tothe fragmentation transducer handpiece that fragmentation is desired.Although power is not supplied on the bus 80, in some embodiments itcould be so supplied.

The microprocessor 30 addresses the various peripheral units using theaddress bus 34 and a decoder 82. When a particular unit is to beaddressed for reading or writing, the address of that unit is placed onthe address bus 34 and the decoder 82 decodes the address. The decoder82 then activates a chip select line connected to the chip enable inputof a particular peripheral unit. That unit then activates its data portsand control ports from the tri-state condition so as to be able to readdata from or send data to the microprocessor 30 on the data bus 32 andthe read the status of various control signals on the control bus 36.

The I/O ports in the RAM and I/O unit 74 are also individually coupledto several solenoid operated pneumatic control valves 83 by a bus 84 andsome solenoid drivers 86. These solenoid operated valves 83 gatepneumatic air pressure on an input air line 88 to one of a number ofpneumatic pistons 89-93 which perform various fluid valve and latchingfunctions. These functions will be explained more fully in connectionwith the discussion of the pneumatic control system below. Each of thesolenoid operated valves can be individually actuated by themicroprocessor 30 through the RAM and I/O port unit 74, the bus 84 andthe drivers 86. A pressure regulator 90 insures that the input airpressure on the line 88 remains stable despite fluctuations of the airpressure on the line 92.

VACUUM CONTROL SYSTEM

The system of the invention operates in several modes. Some of thesemodes require the generation of vacuum for transmission to a hand toolfor aspiration of cut tissue or irrigation fluid from the area in whichthe surgeon is working. The surgeon controls the level of vacuum desiredby means of the footswitch position sensor 48 which is read by themicroprocessor 30. The microprocessor addresses the A/D converter 44,and reads its digital output word. This word is a digital representationof the relative displacement of the footswitch position sensor relativeto its end stops. The microprocessor 30 generates this word by readingthe setting of the maximum vacuum control 46 by addressing the A/Dconverter 44, and selecting the maximum vacuum control as the desiredanalog input to convert to a digital value. As can be seen from FIG. 1,the A/D converter is connected to several analog inputs, i.e., from thevacuum sensor 49 on the line 51, from the footswitch position sensor 48on the line 53, from the max vacuum control 46 on the line 55, and fromthe cut rate adjust knob 50 on the line 57. The particular inputselected depends upon the state of three bits of the address bus.

After the maximum vacuum control 46 and the foot switch position sensor48 have been read, the desired actual vacuum level is derived by themicroprocessor by multiplying the maximum vacuum setting by the fractionof the total possible displacement the foot switch had when it was read.The resultant digital number is sent to the D/A converter 42 byaddressing it using decoder 82 and writing the data into the input latchof the converter 42. The foot switch position sensor 48 and maximumvacuum control 46 are polled periodically by the microprocessor throughan interrupt service routine performed every time a timer internal tothe microprocessor times out. Thus the desired vacuum digital word sentto the D/A converter 42 can be changed at least as often as the vacuumcontrol interrupt occurs if the foot switch position has changed in theinterim. In the preferred embodiment, this interrupt occurs 100 timesevery second.

The desired vacuum word is converted to an analog signal which istransmitted on a line 59 to the non-inverting input of a differentialamplifier 61. The differential amplifier 61 has its inverting inputcoupled to the electrical vacuum signal on the line 51 from a vacuumsensor 49. This sensor is pneumatically coupled by a line 63 to thethroat of a venturi 65. The venturi serves to convert air flowing underpressure through it to subatmospheric pressure. The pressurized airinput or main air channel of the venturi 65 is coupled by an air line 67to a solenoid operated linear valve 69. Such valves are known in theart, and ar manufactured by Precision Dynamics, Inc. under the Model No.A2011-S51. Fundamentally the linear valve control system 69 works asfollows.

Referring to FIG. 2, there is shown a more detailed diagram of thepneumatic and vacuum system of the invention. The vacuum drive servosystem 71 outlined in phantom in FIG. 1 is also outlined in phantom inFIG. 2 with the reference numeral 71. The difference amplifier 61 inFIG. 1 subtracts the actual vacuum signal on the line 51 from the analogdesired vacuum signal on the line 59 and generates an analog errorsignal on a line 73. The magnitude of this error signal is indicative ofhow much difference there is between the desired vacuum and the actualvacuum being generated by the system. This analog voltage must beconverted to a curent proportional to the magnitude of the errorvoltage. This is done by another difference amplifier 75, a drivertransistor 77 and an emitter feedback resistor 79. The output of thedifference amplifier 75 drives the base of the transistor 77 whoseemitter current flows through the resistor 79. A feedback voltage fromthe high side of the resistor 79 is fed back into the inverting input ofthe amplifier 75 on a line 81 and is substracted from the error voltageon the line 73. The difference between these two voltages on lines 73and 81 is converted to base drive for the transistor 77 therebyconverting the difference voltage into collector current which flowsthrough the solenoid coil 83 of the linear valve system 69. The magneticflux caused by this current opens a linear valve portion 85 inproportion with the intensity of the magnetic flux. The valve portionmodulates the flow of pressurized air through the valve on the pneumaticline 67. This pressurized air is regulated at a pressure of from 70-80psi by a pressure regulator 87. Input to the pressure regulator 87 is apneumatic line 89 which carries pressurized air from a compressor at90-120 psi through a water trap 91 and an input air solenoid operatedvalve 93. The water trap prevents water from entering the pneumaticsystem, and the solenoid operated valve 93 allows the input air supplyto be controlled such that the pressurized air is gated into the systemwhen the power is applied to the system as symbolized by the switch 95.

The solenoid operated valve 85 thereby converts the analog error signalon the line 73 into an air flow having a flow rate which is related tothe magnitude of the error signal. When the error signal is large, theflow of air is increased. This air flows through a venturi effect devicesuch as is described in U.S. Pat. No. 3,474,953. This device convertsthe air flowing under pressure into a subatmospheric pressure in thethroat of the device by the venturi effect. This subatmospheric pressureis piped on a pneumatic line 63 to the cassette collection devicethrough an in line water sensor 68. The in line water sensor 68functions to detect the presence of fluid in the vacuum line 63. Thiscondition can occur if the cassette becomes full and the mechanism inthe cassette to detect this full condition fails. When such a failureoccurs, fluid can be sucked into the vacuum line 63. Generally thisfluid is a saline solution used to irrigate the area where the surgeonis working, and it is both conductive and corrosive. If this fluid getsinto the machine through the venturi throat, it can corrode connectionsand other apparatus in the machine. To prevent this, the in line watersensor 68 is provided. This sensor has two gold plated electrodes whichare not subject to corrosion. When fluid is present in the line 63,current can flow between these electrodes which can be detected. Thisdetection is accomplished by connecting a voltage source to one of thewires through a resistor, and connecting the other wire to ground. Thenon-inverting input of a comparator is then connected to the wire whichis coupled to the voltage source. The inverting input of the comparatoris then connected to a reference voltage, preferably one between thevoltage V applied to one of the wires and ground. This arrangement isshown in FIG. 3 which shows the details of the cassette vacuum systemand control valves. When fluid is aspirated into line 63 and enters thein line water sensor 68, it collects around the wires and forms aconductive path between the wire to which the voltage V has beenapplied. This causes the voltage at the node 79 to fall to groundpotential or slightly above. A comparator 81 senses this change, and itsoutput line 83 changes states. This output line 83 is coupled by the bus56 to a latch in the front panel control and sensor interface 54 in FIG.1 and sets a flag. This latch is polled by the microprocessor from timeto time, and when the flag is set, the microprocessor shuts the machinedown to prevent damage.

Returning to consideration of the vacuum control system, thesubatmospheric pressure on the line 63 is coupled to the vacuum sensor49 through a solenoid operated valve 274, the purpose of which will beexplained in connection with the discussion of FIG. 9A. The solenoidoperated valve 274 is controlled by the microprocessor 30 through aconnection to the control bus 206 and remains open for all purposesrelevant here thereby allowing vacuum generated in the venturi 65 to becommunicated to the vacuum line 63. The vacuum sensor 49 converts thevacuum level into an electrical signal on the line 51. This "actual"vacuum level signal is coupled to the inverting input of thedifferential amplifier 61 so as to change the error signal on the line73. When the microprocessor 30 first requests a certain vacuum level,the actual vacuum signal on the line 51 is zero and the error signal islarge. As the differential amplifier 75 and the transistor 77 convertthis error signal into increased current through the coil 83, andincreased air flow through the venturi 65, the vacuum level begins toincrease, i.e., the pressure in line 63 becomes increasingly lower thanatmospheric pressure. The vacuum sensor 49 converts this change tohigher vacuum, to an increase in voltage on the line 51. The rise involtage on the line 51 causes the error signal on the line 73 todecrease. The tendency of the system is to reduce the error signal tonear zero, but a zero error signal can never be actually obtained aslong as the footswitch is depressed. This is because the aspiration toolis always sucking, but vacuum conditions are changing as material issucked into the tube in varying amounts. When material is sucked intothe tube in such quantities as to partially occlude the tube, the vacuumrises and the error signal changes in the downward direction. When nomaterial or little material is being sucked into the tube, the vacuumfalls, and the error signal rises. The feedback system responds to thesechanges in actual vacuum by changing the position of the linear valve tochange the air flow rate. The direction of the change is such as tochange the vacuum level back towards the desired value. The overalleffect is to tend to stabilize the vacuum level at the level requestedby the surgeon through the footswitch. To the surgeon, the actual vacuumlevel seems to change with his manipulation of the footswitch.

Referring to FIG. 4, there is shown a schematic diagram for the analogfeedback system for controlling the actual vacuum signal to the level ofthe desired vacuum requested by the microprocessor shown in blockdiagram form in FIGS. 1 and 2. The desired vacuum level comes in on line59 in the form of an analog signal from the digital-to-analog converter42. A portion of this signal is applied to the non-inverting input of adifferential amplifier 85 which, together with all the associated gainand bandwidth setting components inside the phantom line, performs thefunction of the differential amplifier system 61 in FIG. 1 to generatethe error signal on the line 73. The feedback resistors 276, 272 and acapacitor 274 establish a non-linear gain for the amplifier 61 over thebandwidth of the system. The transfer function of the system has a gainof approximately 10 from D.C. to approximately 15-20 hertz. The gainthen begins to roll off at approximately 10 db/decade until it reaches avalue of approximately 0.5 at 200 hertz. The gain remains at that leveluntil parasitic capacitances cause a rolloff to zero.

The error signal on the line 73 is coupled to the voltage to currentconverter comprised of the differential amplifier 75 and the transistor77 which functions as described above.

The actual vacuum feedback signal on the line 51 is coupled to theinverting input of the differential amplifier 61 through a level shifter91. This level shifter has an adjustable reference voltage applied tothe non-inverting input of a differential amplifier 93. This referencevoltage is taken from the wiper of a potentiometer 95 in a voltagedivider comprised of resistors 97 and 99 coupled between positive andnegative terminals of a voltage reference source (not shown). The actualvacuum signal from the vacuum sensor 49 is coupled to the invertinginput of the differential amplifier 93. This signal, on a line 101 istaken from the output of a high gain differential amplifier 103 whichsenses the actual vacuum condition by interpreting the voltages on aresistor bridge inside the vacuum transducer. The vacuum transducer is aresistor bridge coupled to a constant current source 105. The constantcurrent source is comprised of a differential amplifier with itsinverting input coupled to a reference voltage and its non-invertinginput coupled to ground. The output of the differential amplifier 107 iscoupled to one node of the resistor bridge of the vacuum transducer. Thetop node 109 of the bridge is coupled to the positive voltage referencevoltage by the line 111. This line serves as a source of negativefeedback voltage to stabilize the current sunk by the differentialamplifier from the node 113 since varying current sunk from the bridewill change the voltage at the node 109.

Changing vacuum conditions, changes the voltage at a node 115 in thebridge by virtue of the changing values of the resistors comprising thebridge. This voltage is coupled to the non-inverting input ofdifferential amplifier 117. This amplifier amplifies the voltage at thenode 115 and presents the resultant output voltage on an output 119which is coupled to the inverting input of another differentialamplifier 121. The non-inverting input of this amplifier 121 is coupledto a node 123 which is located in the bridge such that its voltage alsovaries with changing vacuum conditions. The result of this arrangementis that the voltage at the node 115 is subtracted from the voltage atthe node 123. The difference is the actual vacuum signal on the line 101which is level shifted and coupled to the differential amplifier 61 onthe line 51.

PNEUMATIC PRESSURE CONTROL SYSTEM

Referring again to FIGS. 1 and 2, there is shown a block diagram of thepneumatic pressure control system. The system has several modes in whichgreater than atmospheric pneumatic pressure is supplied and controlledby the system to hand held cutting tools used by the surgeon. Forexample, in the scissors proportional cut mode, pneumatic pressure inproportion to the position of the footswitch is applied to apneumatically driven scissors. In the scissors multicut mode, apneumatic waveform in the form of a triangular having a frequencyproportional to the position of the footswitch 48 is transmitted to thepneumatically operated scissors. The pneumatic pressure control systemoperates somewhat like the vacuum control system in that the modeswitches 60 are consulted as to the mode desired by the operator andthen the footswitch is read. After the footswitch is read and acalculation of the cut rate or desired pressure is made, themicroprocessor writes a digital word to the D/A converter 40 in FIG. 1.This word is converted to an analog signal on the line 123 which iscoupled to the non-inverting input of a differential amplifier 125. Theinverting input of this differential amplifier 125 is coupled to anactual pressure signal on a line 127. This signal is generated by apressure sensor 129 which has a pneumatic input coupled to a pneumaticpressure line 131 which can be coupled to a hand held pneumaticallydriven scissors. The differential amplifier 125 subtracts the actualpressure signal on the line 127 from the desired pressure signal on aline 123 to generate an error signal on a line 133. Referring to FIG. 3,this error signal is applied to the non-inverting input of anotherdifferential amplifier 135 which is analogous in function to theamplifier 75. The output of this amplifier is coupled to the base of atransistor 137 which has an emitter feedback resistor 139. The emittermode is coupled by a line 141 to the inverting input of the differentialamplifier 135, and the combination of the amplifier 135, the transistor137 and the resistor 139 function in the same way as in the vacuumcontrol system to convert the error voltage on the line 133 to a currentflowing in the coil 139 of a solenoid operated linear valve 141. Thiscurrent is a function of the error voltage and sets up a magnetic fluxwhich causes the valve portion 141 to modulate the flow of pressurizedair on a pneumatic line 88 to the pneumatic line 131 in accordance withthe level of the error signal on the line 133. The pneumatic line 88carries pressurized air at a regulated pressure of from 40 to 45 psiestablished by a pressure regulator 90 which is coupled by a pneumaticline 143 carrying pressurized air from the pressure regulator 87 at apressure from 70-80 psi. The modulated air flow on the pneumatic line131 is coupled to an exhaust 145 (to atmosphere) by a jeweled orifice147. The jeweled orifice converts the modulated flow into a modulatedpressure by virtue of the controlled leakage of pressurized air througha constant diameter port to atmosphere. The error signal generationcircuitry and feedback system just described is similar in constructionand operation to the vacuum control system described above, and will notbe further described. The elements inside the phantom box 149 in FIG. 2together comprise the linear pressure drive control valve system 149 inFIG. 1.

CASSETTE PROXIMITY SENSING AND LATCHING MECHANISM

Referring to FIG. 5, there is shown a schematic diagram of an electricaland pneumatic control system for sensing the proximity of a cassette andlatching it into the cassette receptacle on the front panel. Althoughthe preferred embodiment is to do the cassette latching function insoftware, a method which will be described below, FIG. 5 is analternative embodiment which is instructive as to the individual subelements of the task.

Proximity sensing of the cassette means sensing when the cassette ispushed partially into the cassette receptacle on the front panel suchthat power assisted apparatus may take over and engage the cassette topull it in and positively lock it into place. The advantage of this isthat it insures that the vacuum seals between the cassette and thevacuum manifolds in the vacuum generating apparatus of the balance ofthe system are positively sealed. The advantage of using a cassette isin the ability of the cassette double egress structure to improve thevacuum response time of the system as detailed in U.S. Pat. No.4,475,904 which is hereby incorporated by reference. The principaladvantage of the automatic latching system is ease of insertion of thecassette. That is, a great deal of strength is required to push thecassette into a latched position with the vacuum port projectionscompressing rubber grommets on the back of the cassette receptaclearound the vacuum manifold openings. With the cassette latchingmechanism, no strength at all is needed, because when the cassette ispartially in the receptacle, the automatic latching mechanism takesover, and the cassette is pulled into the vacuum seal position using thestrength of the pneumatic system of the machine.

Proximity sensing is accomplished by a microswitch 64 in the preferredembodiment. In other embodiments, any known means of proximity sensingcan be used. Whatever apparatus is used, it must sense when a cassetteis partially pushed into the cassette receptacle, and pull it the restof the way into the receptacle such that the vacuum seals are positivelysealed, and the cassette is held firmly in such engagement. FIG. 6 showsthe physical placement of this microswitch in the preferred embodiment.The cassette 96 is generally a cubicle, plastic box with a small vacuumbottle and a large vacuum bottle inside it. The vacuum bottles areconnected together by vacuum hoses (not shown), and there are vacuumhoses (also not shown) which connect to two vacuum ports 98 and 100.Each vacuum port 98 and 100 has a projecting ring 102 and 104,respectively, which defines the interface perimeter of the vacuum port.This ring is triangular in shape in the preferred embodiment, and ismolded in the plastic of the back surface 106 of the cassette 96. InFIG. 6, the vacuum ports 98 and 100 are shown side by side for clarity,but in the preferred embodiment, they are vertically arranged such thatone is above the other. Any arrangement for placement of these portswill do however.

The back surface 106 of the cassette also has a probe 108 moldedtherein. This probe projects out from the back of the cassette, and hasa generally cylindrical shape in the preferred embodiment although othershapes would also work. The purpose of the probe 108 is to engage amicroswitch 64 placed so as to sense proximity of the cassette, and toprovide a location where the cassette may be engaged by the latchingmechanism. It will be understood by reference to FIG. 6 that theactuator arm 140 effectively detects the proximity of the vacuum sealprojections (i.e. the projecting rings 102 and 104) to the elastic seals120 and 122. The latter is provided by a groove 110 formed in the probewhich may be engaged by a tang 112 which is moved by the latchingmechanism. The groove 110 is formed in the bottom of the probe 108 inthe preferred embodiment, so only the phantom outlines may be seen inFIG. 6 since FIG. 6 is a top view of the cassette latching mechanism.FIG. 7 shows a side view of the probe 108 showing how the tang 112 onthe latching mechanism engages a slot 110 in the probe 108. The tang 112is a projection from the circumference of a wheel 114 attached to ashaft 116. When the shaft 116 is turned by the cassette latchingmechanism, the tang 112 moves in an arc so as to move the end of thetang into the slot 110 to engage a wall of that slot. Thus the tang 112engages the probe 108, and pulls the cassette into the receptacle 118.

When the cassette is pulled into the receptacle, the projecting rings102 and 104 are brought into contact with elastic seals 120 and 122. Inthe preferred embodiment, these seals are rubber grommets which surroundthe openings of the various vacuum lines in the vacuum generationsystem. When the tang 112 has moved to its farthest position in theclockwise position in FIG. 4, the projecting rings 102 and 104 willcompress the grommets 120 and 122 sufficiently to make a vacuum seal.The tang 112, wheel 114 and shaft 116 turn in unison, the shaft beingsupported by bearings in a support plate 124 mounted on the back of thereceptacle 118. The shaft 116 has attached to the end thereof anothertang 126. The tang 126 is connected to a piston shaft 128 by a coupling130 and a pin 132. The piston shaft 128 moves longitudinally in thedirection of the arrow, and this motion is translated into rotationalmotion of the shaft 116 by the action of the coupling 130 and the pin132. The piston shaft 128 is an extension of a pneumatic piston 93 whichreceives pressurized air at a pneumatic input 136. This pressurized airforces the piston inside the unit 93 to move against an internal spring(not shown) until the forces of the air and spring acting on the pistonare in equilibrium. A support bracket 136 supports the piston 93 and themicroswitch 64.

Referring again to FIG. 5, when the probe 108 contacts the actuator arm140 of the microswitch and closes the switch, current from the powersupply 142 flows through a branch 144, a front panel cassette releaseswitch 146 and a circuit branch 148 to a solenoid operated valve 150coil and ground. The valve actuated by the solenoid actuated valve opensand allows pressurized air to pass from an input pressurized air line152 to an output air line 154. This pressurized air passes through a oneway check valve 156 into the pneumatic piston 93 where it pushes pistonshaft 128 outward. This outward motion of the piston shaft 128 causesthe tang 112 to engage the probe 108 and pull the cassette intoengagement with the vacuum seals.

When the cassette is to be released, the surgeon presses the cassetterelease switch 146 on the front panel. This switches the line 144 intocontact with the lines 158 and 160. The line 158 conducts current to asolenoid operated valve 160 which opens an air valve which connects thepneumatic piston 93's drive line 162 to the atmosphere through air line164. This releases air pressure on the pneumatic piston 93 therebyreleasing pressure by the tang 112 tending to hold the cassette insealed position.

The line 160 is coupled to a solenoid operated air valve 166 through anOR gate 168. This OR gate has a reflux signal as its other input. Thissignal will be explained below. The solenoid operated valve 166 opens anair valve which gates pressurized air on an air line 168 to an air line170 coupled to a reflux/eject piston 92 through a flow restricter 174.The pressurized air in the reflux/eject unit causes the piston shaft 176to move outward and contact the back of the cassette and push it out ofthe cassette receptacle. This reflux/eject piston unit is not shown inFIG. 6, but the mechanical details of how to implement this functionwill be apparent to those skilled in the art. The flow restricter 174prevents the eject/reflux piston from violently ejecting the cassette,and a check valve 178 bypasses the flow restricter to gate air backtoward the solenoid operated valve 166 when a new cassette is pushed inthereby pushing the piston back into the reflux/eject piston unit anddriving air out of the chamber therein.

REFLUX SYSTEM

Reflux is a process to eject materials which have accidently been suckedinto an aspiration tube in a hand tool during eye surgery. Refluxrequires that the vacuum to the aspiration tube be shut down, and somemeans be employed to apply pressure to the contents of the tube to forcesome of the materials in the tube to be forced out. In the prior art,several methods of reflux have been used. Most devices which have areflux capability, and some do not have any such capability, merely ventthe aspiration tube to atmosphere, but do not apply any positive oractive form of forcing material out of the tube. Gravity is the onlymeans by which materials are pulled out of the tube. This system has thedisadvantage that if a piece of tissue is sucked into the tube andbecomes lodged there tightly enough that gravity will not dislodge it,the surgeon is left in a difficult situation. Only two other systemshave any form of positive pressure application to the tube duringreflux. The United Surgical Corporation "Extra Plus" machine uses aperistaltic pump to generate the vacuum used for aspiration. When refluxis desired, the pump is reversed. This system has the disadvantage thatit only works when a peristaltic pump is used for generating vacuum.Peristaltic pumps do not reach vacuum levels as quickly as the vacuumgeneration system of the present invention, and cannot change vacuumlevels as rapidly as the venturi system used in the system hereindescribed. Thus the advantage of a powerful reflux is offset by thedisadvantage of the necessity of using peristaltic pumps to generate thevacuum and the reflux pressure. Peristaltic pumps are also morecomplicated, expensive and less reliable than the venturi used in thesystem herein described.

The Heslin-Mackool Surgical Design Corporation "Occusystem" uses gravityfeed of reflux fluid by a separate tube which joins the aspiration tubenear the tip of the instrument. The disadvantage of this system is thatit requires additional components to implement the reflux system otherthan those used for the rest of the machine function, so the cost ishigher. Further, the reflux fluid reservoir must be elevated, and thereflux fluid enters the aspiration tube at the tip. Thus any materialssucked past the point of juncture of the reflux tube, will not beejected.

In contrast, the invention uses a positive reflux pressure generationmethod in addition to venting the aspiration tube to atmosphere. Noadditional components are needed to implement the reflux system otherthan those components already present to implement other functions.

Referring to FIGS. 5, 7 and 8, the analog embodiment of the refluxsystem is shown as part of the cassette handling system. The method ofapplying positive reflux pressure used in the invention is to pinch thesurgical tubing used to conduct the subatmospheric pressure to theaspiration port after the subatmospheric pressure is cut off. This isdone to decrease the volume of the surgical tubing to zero at thelocation under the reflux piston. This sudden reduction of volume in thesurgical tubing filled with aspirated material, causes a portion of theaspirated material equal to the decrease in volume of the surgicaltubing to be ejected from the aspiration port. The reflux piston 92 isthe same pneumatic piston as was used for ejecting the cassette in thecase where the front panel cassette release switch was pushed. However,when reflux is desired by the surgeon, a reflux signal is generated onthe line 180 which passes through the OR gate 168 and energizes thesolenoid operated valve 166 to apply air pressure through the air lines168 and 170 and the flow restricter 174 to the pneumatic reflux piston92. Since the line 158 is not energized during a reflux, the solenoidoperated valve 160 is not energized, and the cassette remains latched.The reflux piston has a large "foot" on the end of the piston that isaligned with the path of the surgical tubing which conducts theaspiration vacuum or subatmospheric pressure to the hand tool. FIGS. 7and 8 show front and side views of the back of the cassette with theinternal details eliminated to illustrate how the reflux pistoninteracts with the cassette back wall and the surgical tubing to causethe reflux. FIG. 7 details the paths of two of the surgical tubescarrying vacuum in the cassette. The line 184 carries vacuum to a port186 on the front of the cassette for coupling to the hand tool. The tube188 carries vacuum for other purposes internal to the cassette operationand is not involved in reflux operation. Each tube is held in place byclamping projections 190-193, each of which comprises a pair ofprojecting plastic guides molded into the back wall 196 of the cassettebetween which the tube is pressed. A top view of the tubes 188 and 184and the projecting guides 190 and 191 is shown in FIG. 6. The targetarea 198 in FIG. 7 is the area where the reflux piston foot squeezes thetube 184 to cause the reflux. FIG. 8 illustrates this squeezing action.The back wall 196 of the cassette provides a solid surface against whichthe tube 184 can be squeezed. The foot 182 of the reflux and ejectpiston is shown in the retracted position when no pressure is applied tothe tube 184. When the piston 92 is pressurized, the foot 182 is pushedright and squeezes the tube 184 reducing its volume to zero under thefoot thereby causing the reflux surge to be ejected from the aspirationport.

SYSTEM FIRMWARE

The preferred embodiment for the cassette handling system is use of asoftware subroutine running on the CPU 30 in FIG. 1 to handle the logicof proximity sensing, cassette ejection and reflux. To illustrate thispreferred embodiment reference is made to FIG. 2 which shows thepneumatic system of the invention, and FIGS. 9A and 9B which show a flowchart of processing steps for the cassette handling subroutines. Thesystem's pneumatic and vacuum system shown in FIG. 2 are involved inthis cassette handling. The pertinent part of FIG. 2 with respect tocassette handling are the solenoid operated air valves 166 and 150 inthe lower right hand of the figure, and the reflux and eject piston 92and the cassette latch piston 93 pneumatically coupled to these solenoidoperated valves. The solenoid operated valves are also pneumaticallycoupled to a pressurized air source of air at a regulated pressure offrom 40 to 45 psi controlled by the regulator 90. The solenoid operatedvalves are comprised of two air inputs and a single air output which canbe pneumatically coupled to either air input depending upon the state ofan electrical control signal on a control line coupled to the CPU. Forexample, the solenoid operated valve 166 has a pneumatic input connectedto the pressurized air bus 88 and a pneumatic input coupled to theatmosphere. The pneumatic output is coupled to the reflux and ejectpiston 92, and is pneumatically coupled to the air bus 88 when thecontrol signal on a control line in the control bus 206 is in the"pressurize" state, and is pneumatically coupled to the atmosphere whenthe control signal on the line 206 is in the "open" state. The same istrue for the solenoid operated valve 150.

The control lines on the control bus 206 come from the RAM and I/O ports74 in FIG. 1 through the bus 84 and the drivers 86. In the preferredembodiment, the drivers 86 are output stages of the I/O ports 74. Eachsolenoid operated valve has its own drive line and its own I/O port suchthat each can individually "pressurized" or opened to atmosphere by theCPU 30. When the CPU wishes to pressurize a particular valve, itaddresses that valve using the decoder 82 and the proper I/O port andwrites a particular bit or code to that I/O port. This bit is latched,and controls the state of the driver 86 driving the coil of the solenoidoperated valve so addressed. The desired input is then connected to theoutput.

Referring to FIG. 9A there is shown a flow diagram of part of thecassette handling process implemented by the invention wherein thecassette proximity is sensed, the cassette is pulled in and latched, andthe vacuum seals are tested. The process starts with the step 210 wherethe machine waits for the cassette to be pushed into the front panelreceptacle. The substeps of this waiting step consist of the steps 212and 214. Step 212 consists of addressing the cassette proximity sensorswitch 64 through the front panel control and sensor interface 54 andreading the state of the switch. The data read from the switch 64 isthen compared in step 214 to data reflecting the state of the switchwhen a cassette is near and a determination is made regarding whether acassette has been partially pushed into the front panel. If the answeris no, processing proceeds back to step 212 as symbolized by branch 216.If the answer is yes, processing proceeds to the step 218 to pull thecassette into the receptacle.

Step 218 represents the steps of addressing the cassette latch piston 93solenoid operated valve 150 through the RAM and I/O ports 74 and writinga "pressurize" command to it. This command causes pressurized air on thepneumatic line 88 to be coupled to the pneumatic line 220 in FIG. 2thereby causing the piston 93 to move. As explained with reference toFIG. 3, this movement of the piston engages the cassette and pulls itinto tight sealing engagement with the vacuum seals.

The vacuum seal check process is symbolized by the step 222, and thefirst substep in this process is to set up some internal timers in themicroprocessor 30 for a two second timeout in step 224. Next, the vacuumsystem is started in step 226 to generate vacuum on the vacuum manifoldcoupled to the cassette through the vacuum seals. To do this, themicroprocessor sends a digital word to the D/A converter 42 requesting avacuum level of 150 millimeters of mercury. The vacuum control systemthen generates an error signal which causes the vacuum level to begin torise in the vacuum line 63 and in the small and large bottles of thecassette. To understand this, the reader should refer to FIG. 3 whichshows a schematic diagram of vacuum system of the cassette.

In FIG. 3, the cassette is comprised of a small vacuum bottle which hasone vacuum input in the top of the bottle coupled to the vacuum line 63.Another vacuum line 230 is used to transfer liquid from the small bottleto a large bottle 232. The vacuum line 230 extends into the small bottle228 such that its vacuum input is located at the bottom of the smallbottle 228. The other end of the vacuum line 230 is coupled to a vacuuminput of the large bottle 232. A solenoid operated pinch valve system234 serves to control transfers of liquid between the small bottle andthe large bottle by pinching or not pinching the surgical tubing usedfor the vacuum line 23. In FIG. 2, the solenoid operated pinch valvesystem 234 is comprised of a solenoid operated valve 236 coupled to atransfer pinch piston 238. The SOV 236 has a pneumatic input coupled tothe pneumatic line 88 and a pneumatic output line 240 which is coupledto the pneumatic input of the transfer pinch piston 238. When themicroprocessor wishes to isolate the large bottle from the small bottle,it addresses the I/O port on the RAM and I/O circuit 74 and writes a"vent" bit into the I/O port latch. This causes the SOV 236 to close thevalve allowing pressurized air to vent from the pneumatic line 240thereby allowing the transfer pinch piston to push outward and pinch thesurgical tubing of line 230 closed. When the microprocessor wishes toallow a liquid transfer from the small bottle to the large bottle, itaddresses the I/O port assigned to the the SOV 236 and sets the bit to"pressurize". This causes the SOV 236 to connect the pneumatic line 240to the pneumatic buss line 88. This vents the pressure in the transferpinch piston such that a spring can return the piston to an "unpinched"position. To actually cause a liquid transfer to occur, themicroprocessor opens the vacuum line 230, and applies vacuum to anothervacuum line 244 coupled to another vacuum input of the large bottle 232.This vacuum line 244 is connected through a water trap 246 to venturi248 shown in FIG. 2. The water trap 246 prevents fluid from beingaspirated into the machine via the line 244 if the large bottle becomesfull. To apply vacuum to the line 244, the microprocessor addresses anSOV 250 which has a pneumatic input coupled to the penumatic line 88 andwrites an "open" bit to it causing the valve to allow pressurized air topass between the line 88 and the venturi air flow input 252. The flow ofair through the venturi causes a vacuum to arise in the vacuum line 244.This evacuates the large bottle and the transfer line 230. Because thereis fluid in the small bottle, the fluid is sucked into the transfer tube230 and moves to the large bottle 232. As liquid leaves the small bottleit is replaced with air from vacuum line 63 because the microprocessor30 has previously sent a digital word to the D/A converter 42 requestingzero vacuum. This closes the linear valve 85 in FIG. 2, and allows thevacuum line 63 to suck air from the atmosphere through the throat of theventuri 65. The small bottle 228 also has two electrodes 262 and 264affixed to the top of the bottle and projecting down into it. Together,these two electrodes, and some electronics similar to the comparator andpower supply coupled to the in line water sensor 68, comprise the smallbottle liquid level sensor 66 shown in FIG. 1. The microprocessor 30polls this liquid level sensor 66 from time to time to check the statusof the small bottle. When the bottle is full, the sensor 66 senses thisfact, and the microprocessor 30 initiates the liquid transfer processdescribed above to empty the small bottle.

The vacuum line 230 is also coupled to the hand tool by a vacuum line254 through a segment of surgical tubing which is subject to pinching byan aspiration solenoid operated pinch valve system 256. Referring againto FIG. 2, this pinch valve system is comprised of a solenoid operatedvalve 258 and an aspiration pinch piston 260. This system operatesidentically to the transfer pinch valve system and will not be furtherdescribed except to say that the aspiration pinch valve system 256 iscaused by the microprocessor to pinch the surgical tubing such that thevacuum line 254 is isolated from the line 230 during liquid transfersfrom the small bottle to the large bottle. During aspiration of fluidfrom the area of the operation, the pinch valve system 256 is left opensuch that the vacuum on the line 63 is transferred to the line 230 andonto the line 254. The microprocessor causes the transfer pinch valvesystem 234 to be closed during the aspiration of fluid from theoperation site such that the vacuum on the line 63 draws the fluid intothe small bottle, and no fluid is sucked into the large bottle. The line244 can be vented to the atmosphere during such operations. This smallbottle/large bottle system allows the vacuum response time of the systemto smaller than would be the case if only a large bottle was used. Thismakes the system more agile and easier for the surgeon to work with.

Returning to consideration of the cassette handling and vacuum sealtesting process, the step 266 represents the step of reading the vacuumsensor 49 with the pinch valve 234 open and the pinch valve 256 in FIG.3 closed. The valve 250 in FIG. 2 should also be in the "pressurize"position such the venturi 248 is generating subatmospheric pressure inthe vacuum line 244 to test the seal on this vacuum line as well as theseal on the vacuum line 63. The vacuum level on the line 63 will thenrepresent the vacuum level in the small and large bottles will then berepresented by the vacuum level on the line 63.

The step 268 represents a comparison of the vacuum level reading fromstep 266 to a constant of 150 mm of Hg stored in memory. If this levelof vacuum is reached within two seconds, the first stage of the vacuumtest is passed, and the vacuum system is shut down and the cassette issealed off to check for small bottle leaks in the step 270. This is doneby addressing the solenoid operated valve 274 in FIG. 2 and closing itso as to seal the venturi 65 off from the vacuum line 63. The solenoidoperated pinch valve 234 in FIG. 3 must also be closed to isolate thesmall bottle 228 from the large bottle 232 so as to prevent the venturi248 in FIG. 2 from bleeding away all the small bottle vacuum through theline 244. The large bottle 232 is therefore allowed to return toatmospheric pressure. The large bottle need not be checked for largeleaks, since if there were any, the vacuum would never have risen to 150mm of Hg in the first place within the two second timeout period of step278 to be described below.

After the small bottle 228 has been isolated, the microprocessor waitsfor one second as symbolized by the step 280. This done by waiting fortimeout of a timer set in step 224 for timeouts every second. Upon theoccurrence of this timeout, the vacuum sensor 49 is again read todetermine the vacuum level in the line 63 and the small bottle 228. Thisstep is symbolized by the step 282. If the vacuum has not fallen morethan 60 mm of Hg, then the cassette and seals have passed. This test isrepresented by step 284. The microprocessor 30 then exits the cassettetesting routine, vents the small bottle vacuum to atmosphere byreopening the solenoid operated valve 274 in step 286, and proceeds tothe main loop of the particular mode selected.

In the event there is a large vacuum leak somewhere in the cassette, theseals or the vacuum lines leading to the cassette, the cassette vacuumwill never reach 150 millimeters of mercury, or will reach it veryslowly depending upon the size of the leak. To detect this condition, atest symbolized by the step 278 is performed. This step represents atime limit on the rate of pressure fall toward the goal of 150 mm of Hgvacuum level being tested for in step 268. During the fall of pressure,the branch instruction of step 268 causes the test and branchinstructions of the step 278 to be performed each time the test of step268 indicates that the vacuum level has not yet risen to 150 mm of Hg.The test of step 278 is to determine whether two seconds has passed. Ifit has, then the cassette has failed, and processing proceeds to thetest of a step 288 after adding one to a failure register orincrementing a failure counter in a step 290. A cassette will be giventwo chances to pass the vacuum test, after which it will be failed andan error message displayed. The test of step 288 reads the number in thefailure counter and determines if it is one or greater than one. If thefailure number is one indicating a first failure, processing proceeds tothe step 222, and the vacuum check is repeated starting with the step224. If the failure number is greater than one, the step 292 isperformed to write an error message to the display indicating a vacuumleak exists. Processing then proceeds to the step 210 to wait forinsertion of the next cassette.

If the two second timeout tested for in the step 278 has not yetoccurred, then processing returns to the step 266 as symbolized by theline 294. If at any time before the two second timeout during theexecution of the loop between steps 268 and 278, the vacuum levelreaches 150 mm of Hg, control passes out of the loop to the step 270previously described. That completes the description of the vacuumtesting procedure of the cassette handling routine.

FIG. 9B illustrates the process implemented by the microprocessor 30 inhandling cassette ejection and performing reflux. The routine is enteredfrom some step in the main loop of the particular mode in which thesystem is operating as symbolized by the step 296. The cassette handlingroutine of step 296 is comprised of the steps 297-302. The step 297 is atest for I/O port failure. The I/O ports of the unit 74 can be tested bywriting bits to the latches therein and reading these bits. If theseports fail, the machine will not be capable of operation, and thecassette must be ejected to signal this inability to operate. The step297 tests the I/O ports, and branches to the step 301 upon a failure ofan I/O port. The step 301 represents the I/O instruction of addressingthe solenoid operated valve 150 in FIG. 2, and writing an "open" commandto it to vent the latching piston 93 in FIGS. 2 and 6 to atmospherethereby clearing the way to eject the cassette. Next, the step 302 isperformed wherein the solenoid operated valve 166 in FIG. 2 isaddressed, and a "pressurize" command is sent to it via the conrol bus206 thereby allowing the pressurized air on the pneumatic line 88 toenter the reflux and eject piston 92 and push its piston outward. Thepiston contacts the back of the cassette and pushes it out of thereceptacle.

Returning to step 297, if the I/O port did not fail, then a test 298 isperformed. This test is to determine if the cassette is still present,for if it is not present, then there is no need to go any further andinterrogate the the front panel cassette eject switch. This test isperformed by addressing the cassette proximity sensor 64 and reading itscurrent state as best visualized in FIG. 6.

Next the test of step 299 is performed to determine if the surgeon hasreleased pressure on the footswitch. If the footswitch is stilldepressed, the cassette should not be ejected, because the surgeon mightstill be operating. In such a case, processing proceeds to the next stepin the main loop which is symbolized by a block 304.

If the footswitch is not depressed, then the front panel eject switchmay be pushed to eject the cassette, and the microprocessor will do so.Only if all the previous conditions have been satisfied, will the frontpanel eject switch be polled in a step 300. If the switch has not beenpushed, processing proceeds to the step 304 to continue with the mainloop. If it has been pushed, then processing proceeds to the step 301and the step 302 where the cassette is ejected as previously described.

REFLUX SYSTEM

The microprocessor 30 has several on board timers which are initializedby the microprocessor to generate interrupts periodically. Eachinterrupt is serviced by performance by the microprocessor of a serviceroutine stored in PROM 38 in FIG. 1. Each interrupt controls differentfunctions, and each interrupt occurs during any mode the machine isoperating in. However, since each interrupt has several functions, andnot all the functions are needed in each mode, there are branchinginstructions in each interrupt which test the front panel mode selectswitches 60 to determine the mode. Once the mode is determined,processing in the service routine is vectored to the proper portion ofthe service routine which performs the functions relevant to theparticular mode. The reflux capability of the system is a portion of theservice routine for interrupt 3, and the flow diagram for the refluxprocess is given in FIG. 9B.

Referring to FIG. 9B, step 306, when the interrupt 3 timer times out,the interrupt occurs and the microprocessor vectors itself to thestarting address for the interrupt 3 service routine as symbolized bystep 306. The step 308 next performed, represents a test in theinterrupt 3 service routine to determine the mode of operation of thesystem. If the system is in the I/A mode, i.e., irrigation andaspiration, then reflux is one of the functions which may be performedif the surgeon so requests. The steps 309-311 represent the individualsteps of the reflux portion of the interrupt 3 service routine.

Step 309 represents a test and branch instruction to read the positionof the footswitch to determine whether it is released. The surgeonrequests reflux by releasing the footswitch and kicking it to the right.Two tests must be performed to determine whether this condition exists,and the step 309 is one of them. The other test is performed in the step310. If the result of the test of the step 309 is that the footswitch isnot released, then reflux is not being requested and processing returnsto the next step in the interrupt service routine or the next step inthe interrupt 3 service routine depending upon whether other functionsin the service routine need to be performed for the particular mode. Ifthe footswitch is released, then processing branches to the test of thestep 310 where the footswitch is tested to determine whether it iskicked to the right. There is a microswitch 76 in FIG. 1 located in thefootswitch which is positioned to detect if the footpedal is kicked tothe right. This microswitch is used in both the fragmentation controlfunction in the I/A and Frag mode, and for the reflux control functionin the I/A without Frag mode. It is this footswitch which is read by thestep 310. Referring to FIGS. 10 and 2, if the microswitch 76 indicatesthat the footswitch is kicked right, then the solenoid operated valve258 in FIG. 2 is addressed and a "close" command is sent to it to gatepressurized air through to the aspiration pinch valve 260 to cause it topinch off the surgical tubing carrying vacuum to the surgeon's handtool. Then the solenoid operated valve 166 in FIGS. 1 and 2 is addressedand a "pressurize" command is sent to it to gate pressurized air throughto the reflux and eject piston 92 shown in FIG. 8. This causes surgicaltube 184 to be squeezed thereby causing its volume to be decreased andsome material at the opening in the vacuum line at the hand tool to besqueezed out.

SYSTEM CONTROL FIRMWARE

The system, when first started, performs a series of tests to verifythat certain critical components are in working order. When the systemis first powered up, processing starts at a cold start step 314, andproceeds to a step 316 to perform certain power on tests. These testsinclude a test of the EPROM 38 in FIG. 1 in step 318 and a check of theexternal RAM 74 in FIG. 1 in a step 320. The step 318 adds up all thebytes in the EPROM 38 to form a checksum and compares that checksum to aconstant to determine if all the bits stored in the EPROM are still intheir original state. If the checksum is correct, then the test of step320 is performed. If the checksum is not correct, then step 322 isperformed to display an error message. The test of step 320 involves thewriting of a number to the external RAM followed by a read of thatnumber. If the answer is correct, then processing proceeds to step 324.

Step 324 is a system check step which checks the timing of the A/Dconverter as symbolized by step 326. The first step in this process isto start the A/D conversion process as symbolized by the step 328. Thisstep consists of addressing the A/D converter and sending a chip selectsignal to its start input. Next, the end of conversion output signalfrom the A/D converter is read to see if the conversion is done as step330. Step 332 is a branch if the end of conversion bit indicates thatthe conversion is done. If the conversion is not done, a loop counter isincremented in step 334. The step 333 is a read of the loop counter andcomparison to a maximum acceptable loop count. If the loop count is lessthan the maximum, as tested in step 335, then processing returns to step330. In case the A/D converter fails completely and never generates anend of conversion bit there must be some manner of detecting this fact.The test of step 335 is such a safeguard. If the result of thecomparison is that the maximum count has been exceeded, then step 340 isperformed to display an error message.

If the conversion is done, a branch to the step 336 is done where thecontents of the loop counter are compared to fixed constant set at amaximum number of loop times that can be tolerated for conversion time.If the number of loops performed during this conversion exceeds themaximum as tested in step 338, then the conversion is too slow, and anerror message is displayed in step 340. If less than the maximum, thenthe test is passed, and processing branches to the step 342.

The step 342 is an initialization of all variables used in the system.For example a byte is sent the RAM and I/O port circuit 74 in FIG. 1 tocause it to enter the proper mode of operation, all solenoid operatedvalves are set to their proper initial state, the vitrectomy probe isturned off, the aspiration pinch valve 260 is closed, and the pressureand vacuum levels are set to zero. Further, all LED's in the displaysare cleared to the off state, the low air pressure switch 70 is read todetermine if the input air pressure is at an acceptable pressure, and amessage to release the footswitch is displayed. Finally, the vacuumsensor is read to verify that the vacuum system is safe and an errormessage is displayed if vacuum is not zero or if the footswitch isdepressed for more than 8 seconds.

Next processing proceeds to a warm start step 344 were all interruptsare masked, and all the pinch valves are re-initialized to predefinedstates. The pressure and vacuum levels are set to zero, and the low airpressure switch is read to determine if the input air pressure is lessthan 70 psi. This warm start step is performed every time the mode ofmachine operation is changed as symbolized by the vector 346 from othersteps in the flow diagram of FIG. 10 wherein the mode select switches 60in FIG. 1 are read to determine the desired mode of operation.

The step 346 is then performed to determine the desired mode. There areseveral routines each of which controls the machine in one of its modes.Each routine has a group of steps therein which check the state of themode select switches and determines whether there has been a change. Ifthere has been a change, then the new mode code is written to a variablein RAM. The step 346 reads this mode code, whereupon it is compared tothe codes for the various modes and a conclusion is drawn as to thedesired mode. A step 348 makes this comparison and causes a branch tothe starting address of the proper routine to control that mode.

If the mode selected is the irrigation and aspiration mode, the firststep performed is step 350 on FIG. 10B. This mode supplies irrigationfluid through a port on the front panel and a surgical tube which can bepinched off by the action of the irrigation pinch piston 89 in FIG. 1.This pinch piston is under the control of a solenoid operated valve 352shown in FIG. 2 controlled by the microprocessor 30 through the controlbus 206 from the RAM and I/O ports 74. The mode also supplied vacuum tothe hand tool to aspirate the irrigation fluid and any foreign bodies orfragments of tissue in the region of interest. The step 350 initializesthe interrupts needed for this mode. This process consists of settingsome internal times in the microprocessor to generate interrupt 1 andinterrupt 3 at the desired intervals. In the I/A mode, interrupt 1control the vaccum generation system and interrupt 3 control theirrigation flow, reflux and vacuum venting.

Next the name of the mode is displayed on the alphanumeric display instep 352, and a step 210 waits for the cassette to be pushed in thefront slot. When the presence of the cassette is detected, the processof FIGS. 9A and 9B is performed. After completion of this process, thestep 286 is performed to vent the vacuum from the cassette test toatmosphere and wait for the pressure to drop to atmospheric pressure.This step involves continuous polling of the vacuum sensor 49 in step354 and a test for zero or safe vacuum level in a step 356. If thevacuum has not fallen to a safe level another test for a 2 secondtimeout is performed in step 358 is performed. If no timeout hasoccurred, processing returns to step 354. If timeout has occurred,processing proceeds to step 360 to display an error message. If the testof step 356 showed a safe level, a test for a two second timeout isperformed in step 362. If no timeout has occurred, step 354 is performedagain. If timeout has occurred, a step 364 is performed to check thekeyboard for a change of mode.

Step 364 is the first step in the main loop for the I/A mode, and iscomprised of the steps indicated by the vector 366 shown in FIG. 10C.Upon completion of the main I/A loop, step 364 is performed again, asindicated by the vector 368 from the return statement at the end of theI/A main loop. The first substep 368 in the step 364 is to read thekeyboard switches 368. The results are compared to the current mode codestored in memory in a step 370 to determine if the mode is changed. Ifit has, step 372 writes the new mode code to memory, and the new modecode is compared to the mode codes until the new mode is determinedwhereupon a jump to the starting address of the new mode is made in astep 374. If no change in mode has occurred, the cassette eject switch62 is polled and tested to see if it has been pushed in a step 376. Ifit has, the cassette is ejected in a step 378 in the manner shown inFIG. 9B, steps 300-302. If it has not been pushed, step 380 is performedto read the submode variable.

The I/A mode has three submodes: irrigation only with no aspiration;irrigation and aspiration with fragmentation; and irrigation andaspiration alone. The particular submode is stored by the step 364 whenthe keyboard is read and the mode code is written. Step 382 vectorsprocessing to the proper submode routine starting address. If the I/Aand frag buttons were pushed simultaneously the submode code written bythe change mode subroutine is I/A and Frag submode, and the branch is tostep 384, but if the I/A button was pushed alone, the branch is to thestep 386 where the I/A sub-sub mode code is read to determine if theIrrigation Only sub-sub mode is desired or the I/A mode alone isdesired. Just which sub-sub code is written by the change modesubroutine depends upon whether the I/A button has pushed once or twice.Once push vectors processing to a step 390, and two pushes vectors to astep 388.

The first steps 392 and 394 in the I/A Frag sub mode are to test whetherthe footswitch is not depressed and kicked right indicating that thefragmenter is to be turned on by writing a proper signal to andaddressing the I/O port 74 so as to send an "on" signal out the bus 80in FIG. 1. This results if the result of the test 392 is no and theresult of the test 394 is yes and is symbolized by the step 396. Themicroprocessor 30 times the amount of time the fragmentation tool hasbeen on, and writes an "off" command to the tool after 20 millisecondshave passed. If the answer to the test 392 is no, a short transfer ofliquid from the small bottle to the large bottle is performed. This isdone by closing the pinch valve 256, opening the pinch valve 234, andopening the valve 250 to cause the venturi 248 to generatesubatmospheric pressure in the line 244. This process, symbolized by thestep 398, sucks some of the liquid from the small bottle 228 to thelarge bottle 232, but the transfer valving conditions are not maintainedlong enough to do a complete transfer.

If the vector is to step 390, the first step is to test the footswitchin step 400. If it is depressed, the step 402 opens the irrigation pinchvalve 89 to allow irrigation flow out the socket on the front panel tothe handtool. If the footswitch is not depressed, then step 404 closesthe irrigation pinch 89 to block flow. Processing is vectored to thestep 406 after either steps 404 or 402 is performed.

Step 406 updates the pulse width of the aspiration pinch to the properflow rate for the particular submode. Generally the job of control ofthe vacuum level is performed by interrupt 1. There is, in modes usingvacuum, a simultaneous control of the flow rate of materials aspiratedby the vacuum line 184 provided by the microprocessor 30 throughmodulation of the pulse width of periodic "pinch off pulses" sent to theaspiration pinch valve 258 and pinch piston 260. That is, the flow ratein the vacuum line 184 is controlled by the microprocessor 30 by controlof the duty cycle of the pinched off state of the solenoid operatedaspiration pinch valve 256. The microprocessor periodically pinches offthe line 184 by addressing the valve 256 and causing it to pinch off theline, and later readdressing the same valve and causing it to open. Whenmore flow rate is desired, the total pinched off time is reduced byreducing the "pulse width" of the pinch off time. In the Irrigation Onlymode, zero flow is used, but this is controlled by a test in theinterrupt 1 service routine testing the mode code to see if the machineis operating in Irrigation Only mode. This test is in the vacuum branchof the interrupt 1 service routine which is performed only in modeswhere vacuum is used. If the test answer is yes, the software sets thevacuum level at zero and ignores the potentiometer setting in thefootswitch position sensor, so no aspiration flow results in IrrigationOnly mode. In this instance, the test of step 400 is performed by asecond microswitch in the footswitch which senses whether the footswitchis or is not depressed but is insensitive to the relative amount ofdepression compared to full scale. The step 406 is still performed, butit is ineffectual in that there is no vacuum force causing a flow to bemodulated in the Irrigation Only mode. However the code symbolized bythe step 406 is needed for the other sub modes, so vectoring to the step406 occurs from the other modes as well as symbolized by the vectors 408and 410.

If processing was vectored to step 388, the first step is to determineif the footswitch is depressed in a step 412. When the footswitch is notdepressed, the desired vacuum level number given to the D/A converter 42on the line 59 indicates a zero desired vacuum level. This causes thesolenoid operated valve 85 to cut off air flow through the venturi 65thereby causing the vacuum line 63 to be vented to atmosphere as long asthe valve 274 is open. If the footswitch is depressed, then a step 414waits for it to be released by branching back to the step 412. If thefootswitch is released, then the vacuum level is read in step 416 byreading the sensor 49 to test it for zero vacuum level, i.e.,atmospheric pressure, in a step 418 as indicated by the vector 417. Ifthe vacuum level is zero, the system is safe for a short transfer, andprocessing is vectored to a step 420 to close the aspiration pinch valve256, open the transfer pinch valve 234 and apply a transfer vacuum tothe vacuum line 244 as described previously and symbolized by the step422. If the vacuum level is not zero, a test for timeout in a step 424is performed to determine if too much time has elapsed from release ofthe footswitch, i.e., if the vacuum level has not fallen to zero withina certain time from release of the footswitch, an error has occurred andan error message must be displayed as symbolized by the step 426. If thevacuum level has not fallen to zero, and a timeout has not occurred,processing is vectored back to step 418.

After the short transfer of step 422, processing is vectored back to thestep 406 where the flow rate is set for the particular mode the machineis currently operating in. The flow rate in all the I/A modes except theIrrigation Only mode is determined by reading the cut rate control 50 onthe front panel. The number from the A/D converter 44 is then convertedto a duty cycle for the aspiration pinch valve 256 to control the flowrate in accordance with the setting of the cut rate control. The step420 reads the small bottle water sensor consisting of the probes 262 and264 to determine if the cassette is full. If this test indicates thecassette is full, a complete transfer is performed in step 432. Thisstep opens closes the pinch valves in the same manner as the shorttransfers described above, but maintains this transfer condition for 5seconds. Simultaneously a "transfer" message is displayed. If the testof step 430 indicates a "not full" condition, another back up test isperformed in step 434 to read the in line water sensor 63 to determineif the cassette is full and the probes 262 and 264 have failed to detectthis fact due to corrosion or for some other reason. If this testindicates the cassette is full, a complete transfer is performed foreight seconds as indicated in step 436. Simultaneously a "check contact"message is displayed.

If the cassette is not full, then the cassette handling routine embodiedin step 296 in FIG. 9B is performed to determine if the cassette is tobe ejected.

Next a step 438 to update the maximum vacuum level desired is performedto insure that if the operator has changed the setting of the maximumvacuum control on the front panel, this will be noticed and the properaction taken. The step 440 reads the maximum vacuum level control on thefront panel, while the step 442 displays this maximum desired vacuumlevel on the front panel display. The step 444 reads the actual vacuumlevel indicated by the sensor 49 and displays this value on the frontpanel display adjacent to the maximum vacuum level display area.

A step 440 performs an interrupt safety check as one of the final stepsin the main loop of the I/A main mode routine. This step reads theinterrupt safety, variables and will set the machine to stop if thememory is damaged. The interrupt safety variable check consists of acheck of the mode code to determine if it is out of range, a check ofthe A/D timing and a check of the vacuum venting timeout variable toinsure it is a valid number. A loop return step 442 then vectorsprocessing back to the step 364 to start the loop over again unless themode check step indicates a mode switch is desired in which case thestep 374 vectors processing to the warm start step 344 on FIG. 10A.

Referring to FIG. 10E there is shown a flow chart of the Vitrectomy Modeprocess control. The first step 446 is to initialize the interrupts toset the timers to the desired time between interrupts, and to set thetime between updates of the displays and the frequency of updates of thecut rate bar graph display. Also, the interrupts are initialized tobranch to the particular portion of the code in the service routinewhich pertains to that particular mode. This step is the same as thestep 350 in the I/A mode. Next, in a step 448, the steps 352, 210 and286 and all their substeps from the I/A mode are repeated to display thename of the mode, wait for cassette insertion, test the vacuum integrityof the cassette and vent the vacuum after the test. Next, the step 450is performed to repeat the steps 364, 430, 434 and 296 from the I/A Modeand all their substeps to check for a change of mode by reading thekeyboard, read the water sensor 68 and the water sensor in the top ofthe small bottle and perform any liquid transfers if necessary, and topoll the cassette eject switch 62 to determine if the operator desiresto eject the cassette.

In the Vitrectomy mode the cut rate of the probe is controlled by theinterrupt 3 service routine and the vacuum level is controlled by theinterrupt 1 service routine. The main loop of the vitrectomy routine,which starts with the step 450, provides auxiliary support to thesefunctions controlled by the interrupts. The first of these auxiliaryfunctions is to monitor the safety of the vacuum system to insure thatit is within acceptable limits. The first test in step 454 is to readthe setting of the maximum vacuum control 46 and compare it to aconstant of 100 millimeters of mercury (mm of Hg). If the answer is yes,the test of step 456 is performed to read the vacuum sensor 49indicating actual vacuum level to determine if it is higher than 250 mmof Hg. If the answer is yes, an error message is displayed in step 458.If the answer is no to the test of step 456, the test of step 460 ispreformed to determine is the maximum vacuum level is less than 40 mm ofHg. If the answer to this test is yes, then the test of 462 is performedto determine if the actual vacuum level is greater than 100 mm of Hg. Ifit is, then an error message is displayed in step 464. If the answer toany of the tests 454, 460 or 462 is no, then the vacuum sensor 49 isread in a step 466. The actual vacuum level is then compared toatmospheric pressure in step to determine if the actual vacuum level isactually positive pressure greater than atmospheric pressure which wouldindicate something is wrong. If the answer is yes, an error message isdisplayed in step 470. If the answer is no, then the test of step 472 isperformed to determine if the footswitch is depressed. If the answer isthat the footswitch is not depressed, then processing is vectored by thevector 474 to a step 476 to do a short transfer in the manner describedabove. After the short transfer is performed, the maximum vacuum levelis updated in a step 477 by repeating the steps 440, 442 and 444 fromFIG. 10D. Then processing is vectored to a step 480 to be describedbelow.

If the footswitch is depressed, processing is vectored by the vector 478to the step 480 to update the cut rate. This process involves readingthe cut rate control 50 in a step 482 and updating the cut rate bargraph display in a step 484. Finally, in step 485, the interrupt safetycheck of step 440, FIG. 10D is repeated. Processing is then returned tothe step 450 in FIG. 10E to repeat the main loop of this VitrectomyMode. All throughout this Vitrectomy mode, vacuum control and probecutting speed control is exercised by interrupts 1 and 3.

If the mode code is Frag Mode, then processing is vectored to step 486on FIG. 10F. The first step in this mode routine is to initializeinterrupt 1 by setting its timer to the proper interval and setting theinterrupt mode variable to vector processing in the interrupt serviceroutine to the proper code to handle this mode. Next, in step 490, themode name is displayed, and in step 492 the fragmentation tool'spresence is checked. The step 492 is comprised of the substep 494 totransmit a logic zero through the frag cable through the transmit dataserial port on the microprocessor. The receive data port on themicroprocessor is monitored in the step 496 for return of the zerotransmitted in the step 494. The step 498 tests for receipt of the zeroreturned from the frag tool, and displays an error message if the zerois not returned, and vectors processing to the next step in the FragMode if the zero is returned.

Next, the step 500 repeats the step 210 and its substeps to wait for thecassette to be placed in the receptacle on the front panel. The step 502then repeats the step 364 and its substeps to check the keyboard for amode change. Processing is then vectored to a step 506 which checks thesmall bottle in the cassette for fullness and initiates liquid transfersif it is full by repeating steps 430 and 434 and their substeps.

The step 508 controls the fragmentation tool by turning on and turningoff the tool depending upon the state of the footswitch 48. The firstsubstep in the process of step 508 is to read the microswitch on thefootswitch which senses left or right placement of the footswitch. Thistest is performed in step 510, and a step 512 turns on the frag handtoolif the answer to the test of 510 is yes. After performing the step 512processing is vectored to a step 518 to handle the cassette which stepwill be described below.

If the test of step 510 indicates that the footswitch is not kickedright, processing is vectored to a step 516 which turns off the fragtool and vectors processing to the step 518 which repeats the cassettehandling steps of FIG. 9B to determine if the cassette eject button hasbeen pushed and whether it is safe to eject the cassette. Next, in step520 the vacuum levels are checked for errors, a short transfer from thesmall bottle to the large bottle is performed if the footswitch is notdepressed, and the maximum vacuum is updated by repeating steps 454-477of FIGS. 10E-F described above. Finally, the interrupt safety check isperformed in step 522 by repeating step 440 from FIG. 10D. The main loopis repeated by the vector 524 which returns processing to step 502, FIG.10F. All throughout the Fragmentation mode, interrupt 1 is exercisingcontrol over the vacuum level.

If the branch in step 348 was to the Scissors Proportional Cut Mode,then processing is vectored to step 526 on FIG. 10H. In this mode,pneumatic pressure is applied to a pneumatically driven scissorshandpiece. The amount of pressure applied is proportional to theposition of the footswitch. The maximum pressure that can be applied is20 psi in the preferred embodiment. The first step 528 is to initializethe interrupts and to print the mode name on the front panel display.The only interrupt used is interrupt 1, and it only updates the softwaretimers which control how often the displays are updated since no vacuumis used in this mode at all. Next, in step 530, the keyboard is checkedfor a mode change, and the front panel cassette eject switch is checkedto determine if the cassette is to be ejected and whether it would besafe for such an action all as described above with respect to previousmodes. This step also checks to determine is a cassette is near byreading the proximity switch 64, and if it is the proper commands areissued to grab the cassette as described above, but the vacuum checksteps described above are omitted. In step 532, the input pneumatic airpressure is checked, by reading the input air pressure sensor 70 in FIG.2 to insure that there is adequate air pressure. The step involvesaddressing the sensor, reading its output, testing the result andbranching to an error display if the pressure is inadequate.

The main step in this mode is step 534 which reads the footswitchposition sensor to determine the desired amount of cutting pressure. Theposition sensor is read through the A/D converter as previouslydescribed. A step 536 calculates the desired penumatic pressure bymultiplying a constant of 20 psi times the fraction of the totalfootswitch position sensor displacement relative to full scale. Theresult is sent to the D/A converter 40 where it is converted to ananalog "desired pressure" signal on the line 123. This signal controlthe linear valve 149 to cause the desired pneumatic pressure to beoutput to the scissors handpiece.

If the step 348 in FIG. 10B results in a branch to the Scissors MulticutMode, then the step 540 in FIG. 10I is reached. In this mode, thepneumatic scissors handpiece is driven with a triangular pneumaticwaveform having a constant amplitude, and having a frequency controlledby the footswitch position sensor. Interrupt 3 is not used in this mode,and interrupt 1 is used to control the linear valve 149 to cause thepneumatic pressure to be updated 100 times per second to implement thetriangular pneumatic waveform. The first step 542 is to initialize theinterrupts 1 and 3 such that interrupt occurs 100 times per second, andinterrupt 3 does not occur at all. This step is the same as step 528 inFIG. 10H. Next, a step 544 is performed which is the same as steps 530and 532 in FIG. 10H to determine if the cassette eject switch has beenpushed and to determine if it is safe to eject the cassette, to checkthe keyboard for changes in mode and to make sure that there is adequateair pressure to handle the needs of the scissors handpiece. The cassetteproximity switch is read also, and the cassette is drawn in if it isnear as was described above for the Scissors Proportional Cut Mode. Novacuum is needed in this mode.

The main step in the Scissors Multicut Mode is step 546 wherein thefootswitch position sensor is read in order to calculate the frequencyof the triangular pneumatic waveform. The calculation of the desirednumber of cuts per minute is performed in the step 548 wherein aconstant of 60 cuts per minute is multiplied by the fraction of thetotal possible displacement of the footswitch position sensor found whenthe position sensor was read. Once the desired frequency is calculated,a number representative of that frequency is updated in RAM in step 550.This cut frequency variable is read upon every occurrence of interrupt 1and determines the step size as will be apparent from the discussion ofinterrupt 1 given below. After updating the cut frequency variable, thestep 552 performs the interrupt safety check step described above inconnection with discussion of the other modes. Then processing returnsto the step 544 for another pass through the main loop.

Referring to FIG. 11, there is shown a flow chart of the serviceroutines of interrupts 1 and 3. Interrupt 1 is detailed starting in FIG.11A with a step 554 which an interrupt 1 timeout and vectoring to theinterrupt 1 service routine. A step 556 follows which is an update ofthe software timers that time the frequency of updates of the displaysand the cut rate bar graph. This update involves reading a variable fromRAM which is set when a particular mode is entered to indicate thedesired update rate for each display during the particular mode.

Each interrupt service routine contains code which is peculiar to onlysome modes. Not all code in each service routine is performed for anyparticular mode. To determine which portion of the service routine forthe current mode, a step 558 is performed. This step checks an interruptmode variable in RAM which is set by the mode change routine each time anew mode is entered. This variable indicates which portion of theservice routine of each interrupt is relevant to the particular mode inwhich the machine is currently operating. After the interrupt modevariable is checked, a step 560 causes branching to the relevant portionof the service routine.

If a mode involving vacuum control is the current mode, branching to astep 562 occurs. This step updates a buzzer which provides audiblefeedback to the surgeon which, by its frequency, indicates the currentlevel of actual vacuum.

Next, a step 564 tests the current mode code to determine if theIrrigation Only Mode has been selected. This mode does not involvevacuum, so if the answer is yes, a step 566 is performed which sets thevacuum level to zero and ignores the footswitch position sensorposition. The microswitch in the footswitch position sensor whichindicates whether the footswitch is depressed, but does not indicate howfar is then read in a step 567. The result is stored in RAM for testingby the test 400 in FIG. 10C for control of the irrigation pinch valve.If the answer is no, then the step 568 is performed to read thefootswitch position. This number is stored in RAM pending a calculation.Next a the maximum vacuum control 46 is read, and the result is storedin memory in a step 570.

The microprocessor then calculates the desired level of vacuum for modesin which the footswitch position controls the desired vacuum level in astep 572. In the Irrigation And Aspiration Mode, the calculation isperformed as in the step 574 where a constant of 550 millimeters ofmercury is multiplied by the fraction of total scale found for themaximum vacuum control in step 570, the result then being multiplied bythe fraction of total scale of the footswitch position sensor found instep 568. If the Vitrectomy Mode or Frag Mode is the current operatingstate, then the calculation is performed as in the step 576. Thiscalculation is a multiplication of a constant of 400 millimeters ofMercury times the fraction of total scale found for the maximum vacuumcontrol in step 570, the result then being multiplied by the fraction oftotal scale of the footswitch position sensor found in step 568. Next astep 577 is performed to read the actual vacuum from the sensor 49 andupdate an actual vacuum variable in RAM. The last vacuum control step576 is to send the result of the calculation of step 572 to the D/Aconverter 42 in FIG. 1 to cause the vacuum control linear valve togenerate the desired vacuum level. The service routine then ends, andprocessing resumes where it left off when the interrupt occurred assymbolized by step 578.

If the result of the step 560 is a branch to the scissors mode, thevector 580 causes a step 582 which is a test for whether the multicut orproportional cut mode is desired. If the multicut mode is desired, astep 584 is performed to read the cut frequency variable in RAMdetermine the frequency desired for the pneumatic triangular waveform asset by the step 550 in FIG. 10I.

After the desired frequency is determined, a step 586 is performed tocalculate the step size and the new pressure level. The triangularpneumatic waveform is generated by incrementing or decrementing thedesired pressure level signal sent to the D/A 40 100 times per second bya variable step size. The size of the step determines the frequency ofthe triangular waveform as follows. A maximum pressure level of 20 psiis predefined, and when incrementation causes the new pressure level toequal or exceed this pressure ceiling, then the microprocessor reversesthe trend and begins decrementing the current pressure level by stepsuntil zero pressure is reached whereupon incrementation is startedagain. The desired frequency is obtained by changing the step size suchthat these limits are reached sooner or later. The step 586 represents astep of comparing the desired frequency to the current frequency andeither increasing the step size or decreasing the step size dependingupon the result. Once the new step size is determine, the step value isadded to or subtracted from the current pressure to derive the newpressure. Whether the step is added or subtracted depends upon thecurrent direction, i.e., whether the waveform is on the positive ornegative slope leg, and upon whether the new pressure is outside the 0psi and 20 psi limits. After determining the new pressure, the updatedvalue is sent to the D/A 40 to properly adjust the linear valve 149 instep 588, and step 590 cause return from the service routine to the mainloop of the mode routine.

If the test of step 582 indicates the proportional cut mode is thecurrent mode, the interrupt 1 service routine has no major functionsince the job of reading the footswitch and controlling the linear valveis left to the main loop of the mode routine. In this case, a step 592turns off the vacuum and updates the software timers controlling thedisplay update frequency for this mode. Thereafter the step 590 isperformed to return to the main loop.

Referring to FIG. 11C there is shown the beginning of the interrupt 3service routine. The step 594 represents the occurrence of an interrupt3 timeout by the software timer which generates the interrupt 3interrupt request. A step 596 is then performed which checks theinterrupt 3 mode variable to determine the relevant code in theinterrupt 3 service routine which pertains to the particular mode inwhich the machine is operating. After the relevant portion of theservice routine is determined, that code is branched to in the step 598.If the Vit Mode is selected, interrupt 3 performs control of thevitrectomy probe cut rate by reading the cut rate control 50 on thefront panel and calculating the desired cut rate. The first step in thisprocess is a step 600 which tests the footswitch to determine if it iskicked right indicating that the surgeon wishes the vitrectomy probe tobegin cutting at the rate set by the cut rate control on the frontpanel. If the footswitch is not kicked to the right, no cutting isdesired at that time, and branching to a step 602 occurs which causes areturn from the interrupt 3 service routine to the main loop of the VitMode at whatever step was next to be performed when the interruptoccurred.

If the footswitch is kicked right, a step 604 is performed to read thecut rate control 50. This is done as described earlier herein. Basicallyall the analog potentiometers are read by sending a constant currentthrough one end of the potentiometer to the wiper and reading thevoltage across the potentiometer to the wiper. Next, a step 606 isperformed to calculate the cut rate. This is done as illustrated in thestep 608 where the equation for the calculation is given. The minimumcut rate is one cut per second for the cut rate control fraction of 0%of full scale. The maximum cut rate is 10 cuts per second for a 100%setting of the cut rate control. In between these two extremes, the cutrate is one plus the quantity equal to the percentage of full scale readfrom the cut rate control times a constant of 9 cuts per second.Finally, the state of a probe control solenoid operated valve 612 inFIG. 2 is updated in a step 610. This valve couples the pneumaticpressure line 143 to the vit cutter probe, and can be opened and closedvia the control bus 206 and the RAM and I/O ports 74 in FIG. 1. Thefrequency of the vit cutter probe is controlled by controlling the pulsewidth of the pneumatic air pressure pulses which are generated by themicroprocessor by opening and closing the the valve 612. Higherfrequencies are implemented by making the pneumatic pulses shorter induration. Thus, the microprocessor takes the result of the calculationin step 606 and calculates the pulse width needed to implement thisfrequency. It then examines data it maintains on the position of thevalve 612 to determine how long it has been open or closed and comparesthis information to the desired pulse width. From this comparison, itmakes the determination whether to open or close the valve 612, andsends the proper data to the RAM and I/O port for the valve 612 to openor close it. The last step is to return from the service routine in astep 614.

If the branch of step 598 is to the I/A Mode, the service routine forinterrupt 3 controls the irrigation flow rate, aspiration line ventingand the reflux function. The first step in this process is a step 616which reads the cut rate control 50 to determine the desired irrigationflow rate. This control 50 has dual functions depending upon which modethe machine is in. Next the desired flow rate is calculated in a step618. This step involves adding to a minimum flow rate of 10% thequantity equal to 100% of the flow rate times the fraction of the cutrate control full scale setting which was read in the step 616. Thefinal step in controlling the flow rate is to update the status of theflow rate pinch valve and pinch piston 89 in FIGS. 1 and 2 through theRAM and I/O ports 74 and the control buses 84 and 206. The irrigationpinch piston is controlled by the microprocessor to pinch off thesurgical tubing carrying the irrigation solution at a constant frequencyof 2 pulses per second. The flow rate is controlled by modulating thepulse width based upon the result obtained in the step 618. The updatingstep of comparing the data on the current status of the irrigation pinchpiston to the desired pulse width and sending the proper command to thesolenoid operated valve 352 in FIG. 2 is symbolized by the step 620.

A step 620 is the first step in the vacuum venting control. Every timethe footswitch is released, the aspiration line 184, the small bottle,and the aspiration line 63 must be vented to atmosphere. This is done byinsuring that the solenoid operated valve 274 in FIG. 2 is open, and byclosing the solenoid operated linear valve 85 to block pressurized airflow through the venturi 65. This vents the aspiration circuit mentionedabove through the throat of the venturi. The first step in this processis the test 620 to determine if the footswitch is released. If it is notreleased, a return from the service routine to the main loop of the modeis performed in a step 621. If it is released, a step 622 is performedto vent the aspiration circuit named above by addressing the propervalves mentioned above and writing the proper data to the I/O port andto the D/A converter 42 to cause the valves to assume the proper statesas detailed above. Processing is then vectored by the vector 624 to atest 626.

The test 626 is a test for a timeout by an internal interrupt timerwhich is set to zero count when the footswitch is released. If thistimer has timed out, a step 628 is performed which reads the actualvacuum level variable in RAM which is updated in the interrupt 1 serviceroutine each time interrupt 1 occurs. A test is then performed in step630 which determines whether the actual vacuum level has fallen to 0 mmof Hg. If it has, then processing proceeds to a step 632 to begin refluxcontrol. If it has not, processing is vectored back to the step 626 towait for another timeout. The purpose of this loop is to wait for theactual vacuum level to drop to atmospheric pressure to insure that thevacuum system is safe for reflux if desired.

A reflux is performed every time the footswitch is released after thevacuum has been vented if the footswitch is kicked right. The first stepin this process is step 632 to close the aspiration pinch valve 256 inFIG. 3 to prevent the hydraulic pressure to be applied by the refluxpinch process from propagating into the machine as well as toward thehandtool. Next, in step 634, the footswitch microswitch is read todetermine if the footswitch is kicked right. If it is, the reflux pinchvalve 92 in FIG. 3 is addressed and closed to cause the reflux.Thereafter a return to the main loop of the mode is made via a step 638.If the footswitch is not kicked right, no reflux is desired, and areturn from the service routine to the main loop of the mode is made inthe step 638.

Although the invention has been described in terms of the embodimentdescribed above, it will be apparent to those skilled in the art thatnumerous modifications can be made such as by changing the order ofsteps in the control process or eliminating steps or items of circuitryor mechanical implements. All such modifications, if they fall withinthe spirit of the invention are intended to be covered by the claims setout below. ##SPC1## ##SPC2## ##SPC3## ##SPC4##

What is claimed is:
 1. An apparatus for handling an aspirated fluidstorage cassette having vacuum seal projections which mate with flexibleseals on a cassette storage receptacle for a surgical instrumentcomprising:means for engaging said cassette and pulling said cassetteinto a seated position where said vacuum seal projections engage andform an interface with said flexible seals to form vacuum seals; meansfor sensing the proximity of the cassette to said engaging means havinga status indicative of said proximity; a cassette eject switch; meansfor ejecting said cassette; a vacuum generation system coupled through avacuum line to said cassette, said flexible seals sealing the interfacebetween said vacuum generation system and said cassette; a vacuum sensorfor detecting the level of actual vacuum in said cassette; a logic meanscoupled to said cassette eject switch and to said means for sensing andsaid means for engaging for reading the status of said cassetteproximity sensing means and for causing said means for engaging toengage said cassette and pull said cassette into seated position and tocheck the status of said cassette eject switch and for causing saidcassette to be ejected when said cassette eject switch has been pushedand for conducting a first test of said vacuum seals and said cassetteafter said cassette has been seated by causing said vacuum generationsystem to attempt to generate a predetermined level of vacuum in saidcassette and by reading the level of vacuum generated by said attemptafter a first predetermined time interval.
 2. The apparatus of claim 1wherein said logic means further includes means for conducting a secondtest of said vacuum seals and said cassette after said cassette has beenseated and said predetermined level of vacuum has been created in saidcassette by waiting for a second predetermined time interval and thenreading the level of vacuum still existing in said cassette andcomparing said vacuum level to a predetermined constant indicating themaximum acceptable vacuum drop.
 3. The apparatus of claim 2 furthercomprising means for displaying an error message if said logic meansdetects a failure in either of said first or second tests of said vacuumseals.
 4. The apparatus of claim 3 wherein said logic means is aprogrammed microprocessor.